package ex2.advancedFeature.reflect;

@FunctionalInterface
interface IMessage {
	public int add(int... args);

//	static int sum(int... args) { // 此方法可以由接口名称直接调用
//		int sum = 0;
//		for (int temp : args) {
//			sum += temp;
//		}
//		return sum;
//	}
}

public class Main {
	public static void main(String[] args) {// 在Lamda表达式中直接调用接口里定义的静态方法
		fun((int... param) -> {
			int sum = 0;
			for (int temp : param) {
				sum += temp;
			}
			return sum;
		});
	}

	public static void fun(IMessage msg) {
		System.out.println(msg.add(10, 20, 30)); // 传递可变参数
	}
}